--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
lang/README.de.md v4.5.0-rc.4 (17844e91) Text, 16.65 KB
Reticulum MeshChatX
Ein umfassend modifizierter und funktionsreicher Fork von Reticulum MeshChat von Liam Cottle.
Dieses Projekt ist unabhaengig vom originalen Reticulum MeshChat und steht in keiner Verbindung dazu.
• Website: meshchatx.com
• Quellcode: git.quad4.io/RNS-Things/MeshChatX
• Offizieller Spiegel: github.com/Quad4/MeshChatX – derzeit auch fuer Windows- und macOS-Builds genutzt.
• Releases: git.quad4.io/RNS-Things/MeshChatX/releases
• Aenderungsprotokoll: CHANGELOG.md
• TODO: Boards
Wichtige Aenderungen gegenueber Reticulum MeshChat
• Verwendet LXST
• Peewee-ORM durch direktes SQL ersetzt
• Axios durch natives T383838fetch ersetzt
• Electron 41.x (mit Node-24-Laufzeit)
• T383838.whl-Pakete mit Webserver und eingebauten Frontend-Assets fuer mehr Deploy-Optionen
• i18n
• PNPM und Poetry fuer Abhaengigkeiten
│ [!WARNING] MeshChatX garantiert keine Datenkompatibilitaet mit aelteren
│ Reticulum-MeshChat-Versionen. Erstellen Sie vor Migration oder Tests eine Datensicherung.
│ [!WARNING] Aeltere Systeme werden noch nicht vollstaendig unterstuetzt. Aktuelle
│ Mindestanforderungen: Python T383838>=3.11 und Node T383838>=24 (Electron 41 entspricht Node 24; T383838engines in
│ T383838package.json und CI folgen derselben Vorgabe).
Voraussetzungen
• Python T383838>=3.11 (aus T383838pyproject.toml)
• Node.js T383838>=24 (aus T383838package.json, Feld T383838engines)
• pnpm T38383810.33.0 (aus T383838package.json, Feld T383838packageManager)
• Poetry (verwendet in T383838Taskfile.yml und CI-Workflows)
T282828
task install
task lint:all
task test:all
task build:all
Installationsmethoden
Waehlen Sie die Methode passend zu Umgebung und Paketierung.
┌─────────────────────┬────────────────────┬─────────────────┬─────────────────────────────────────┐
│ Methode │ Frontend enthalten │ Architekturen │ Geeignet fuer │
├─────────────────────┼────────────────────┼─────────────────┼─────────────────────────────────────┤
│ Docker-Image │ Ja │ T383838linux/amd64, T383838l… │ Schnellster Start auf Linux-Servern │
│ Python Wheel (T383838.whl) │ Ja │ Jede Python-un… │ Headless/Webserver ohne Node-Build │
│ Linux AppImage │ Ja │ T383838x64, T383838arm64 │ Portabler Desktop-Einsatz │
│ Debian-Paket (T383838.deb) │ Ja │ T383838x64, T383838arm64 │ Debian/Ubuntu-Installation │
│ RPM-Paket (T383838.rpm) │ Ja │ CI-abhaengig │ Fedora/RHEL/openSUSE │
│ Aus Quellcode │ Lokal gebaut │ Host-Architekt… │ Entwicklung und individuelle Builds │
└─────────────────────┴────────────────────┴─────────────────┴─────────────────────────────────────┘
Hinweise:
• Der Release-Workflow baut explizit Linux T383838x64 und T383838arm64 AppImage + DEB.
• RPM wird ebenfalls versucht und bei Erfolg hochgeladen.
Schnellstart: Docker
T282828
docker compose up -d
Standard-Compose-Datei:
• T383838127.0.0.1:8000 auf dem Host -> Container-Port T3838388000
• T383838./meshchat-config -> T383838/config fuer Persistenz
Bei Berechtigungsproblemen:
T282828
sudo chown -R T79c0ff1000:1000 ./meshchat-config
Installation aus Release-Artefakten
1) Linux AppImage (x64/arm64)
1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.AppImage von den Releases herunterladen.
2. Ausfuehrbar machen und starten:
T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage
2) Debian/Ubuntu T383838.deb (x64/arm64)
1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.deb herunterladen.
2. Installieren:
T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb
3) RPM-basierte Systeme
1. T383838ReticulumMeshChatX-v<version>-linux-<arch>.rpm herunterladen, falls im Release vorhanden.
2. Installieren:
T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm
4) Python Wheel (T383838.whl)
Release-Wheels enthalten die gebauten Web-Assets.
T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchatx --headless
T383838pipx wird ebenfalls unterstuetzt:
T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl
Aus Quellcode ausfuehren (Webserver-Modus)
Fuer Entwicklung oder lokale Custom-Builds.
T282828
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm config Tffa657set verify-store-integrity Tffa657true
pnpm install --frozen-lockfile
pip install Ta5d6ff"poetry==2.3.4"
poetry check --lock
poetry install
pnpm run build-frontend
poetry run python -m meshchatx.meshchat --headless --host T79c0ff127.0.0.1
Hinweise zu den Installationsbefehlen:
• T383838pnpm install --frozen-lockfile verweigert Aenderungen an T383838pnpm-lock.yaml und schlaegt fehl, wenn die Lockdatei nicht zu T383838package.json passt. Damit wird verhindert, dass eine unerwartete Upstream-Version still eingespielt wird.
• T383838verify-store-integrity=true ist auch in der projektweiten T383838.npmrc gesetzt; die explizite T383838pnpm config set-Zeile haertet zusaetzlich die Benutzerkonfiguration.
• Lifecycle-Skripte (T383838preinstall/T383838postinstall) sind in pnpm v10+ standardmaessig blockiert. Nur die unter T383838pnpm.onlyBuiltDependencies in T383838package.json aufgefuehrten Pakete duerfen Installationsskripte ausfuehren (aktuell T383838electron, T383838electron-winstaller, T383838esbuild, T383838protobufjs).
• T383838poetry check --lock schlaegt frueh fehl, wenn T383838poetry.lock nicht mit T383838pyproject.toml synchron ist; T383838poetry install aufloest danach nur aus der Lockdatei.
• Fuer eine strikte Lockfile-Installation (ohne implizite Lock-Aktualisierung) Poetry mit T383838pip install "poetry==2.3.4" pinnen, passend zur CI-Version.
Wenn Sie absichtlich Abhaengigkeiten aktualisieren wollen, fuehren Sie T383838pnpm update / T383838poetry update in einem dedizierten Commit aus und pruefen Sie das resultierende Lockdatei-Diff vor dem Push.
Sandboxing (Linux)
Um das native T383838meshchatx-Programm (Alias: T383838meshchat) mit zusaetzlicher Dateisystem-Isolation auszufuehren, koennen Sie Firejail oder Bubblewrap (T383838bwrap) nutzen, bei weiterhin normalem Netzwerkzugriff fuer Reticulum und die Web-Oberflaeche. Vollstaendige Beispiele (pip/pipx, Poetry, Hinweise zu USB-Seriell) finden Sie in:
Dieselbe Seite erscheint in der in-app-Dokumentation (MeshChatX-Docs), wenn sie aus den gebuendelten oder synchronisierten T383838meshchatx-docs-Dateien ausgeliefert wird.
Linux-Desktop: Emoji-Schriften
Die Emoji-Auswahl rendert Standard-Unicode-Emoji mit den Systemschriften (Electron/Chromium). Wenn Emoji als leere Kaestchen („Tofu“) erscheinen, installieren Sie ein Farb-Emoji-Paket und starten Sie die App neu.
┌────────────────────────────┬──────────────────────────────────────────────────────────────────┐
│ Distribution (Beispiele) │ Paket │
├────────────────────────────┼──────────────────────────────────────────────────────────────────┤
│ Arch Linux, Artix, Manjaro │ T383838noto-fonts-emoji (T383838sudo pacman -S noto-fonts-emoji) │
│ Debian, Ubuntu │ T383838fonts-noto-color-emoji (T383838sudo apt install fonts-noto-color-emoji) │
│ Fedora │ T383838google-noto-emoji-color-fonts │
└────────────────────────────┴──────────────────────────────────────────────────────────────────┘
Nach der Installation bei Bedarf T383838fc-cache -fv ausfuehren. Optional: T383838noto-fonts fuer breitere Symbolabdeckung bei minimalen Installationen.
Desktop-Pakete aus Quellcode bauen
Diese Skripte sind in T383838package.json und T383838Taskfile.yml definiert.
Linux x64 AppImage + DEB
T282828
pnpm run dist:linux-x64
Linux arm64 AppImage + DEB
T282828
pnpm run dist:linux-arm64
RPM
T282828
pnpm run dist:rpm
Oder ueber Task:
T282828
task dist:fe:rpm
Architekturunterstuetzung
• Docker-Image: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64 (Build-Skripte vorhanden)
• macOS: Build-Skripte vorhanden (T383838arm64, T383838universal) fuer lokale Build-Umgebungen
• Android: native APKs — ABIs T383838arm64-v8a, T383838x86_64, plus universal
Android
MeshChatX unterstuetzt native Android-APK-Builds (nicht nur Termux).
APKs aus Quellcode bauen
Vom Repository-Root:
T282828
T8b949e# 1) Chaquopy-Wheels gemaess android/app/build.gradle bauen
bash scripts/build-android-wheels-local.sh
T8b949e# 2) Standard-Slim-APKs bauen (universal: ein APK pro Flavor und Build-Typ)
Tffa657cd android
./gradlew --no-daemon :app:assembleSlimDebug :app:assembleSlimRelease
Ausgaben richten sich nach Product Flavors T383838slim / T383838full (Groesse des Python-Baums) und ABI-Packaging T383838universal (Standard) oder T383838split (siehe T383838android/app/build.gradle).
Mit T383838-PmeshchatxAbiPackaging=universal (Standard) enthaelt ein APK alle gewaehlten ABIs.
Debug (T383838android/app/build/outputs/apk/slim/debug/):
• T383838app-slim-debug.apk
Release (T383838android/app/build/outputs/apk/slim/release/):
• T383838app-slim-release-unsigned.apk
Fuer den vollen Python-Baum: T383838:app:assembleFullDebug oder T383838:app:assembleFullRelease.
Hinweise:
• Release-Ausgaben sind standardmaessig unsigniert, sofern keine Signatur konfiguriert ist.
• Fuer eine einzelne Build-Variante z. B.: T383838:app:assembleSlimDebug oder T383838:app:assembleSlimRelease.
• ABI: T383838-PmeshchatxAbis oder T383838MESHCHATX_ABIS; Packaging: T383838-PmeshchatxAbiPackaging oder T383838MESHCHATX_ABI_PACKAGING.
• Chaquopy-Baum T383838meshchatx/: T383838slim nach T383838src/slim/python/, T383838full nach T383838src/full/python/. Details in android/README.md.
Weitere Dokumentation:
Konfiguration
┌────────────────────────┬──────────────────────────────────────┬──────────────┬───────────────────┐
│ Argument │ Umgebungsvariable │ Standard │ Beschreibung │
├────────────────────────┼──────────────────────────────────────┼──────────────┼───────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Webserver-Bind-A… │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Webserver-Port │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ HTTPS deaktivier… │
│ T383838--ssl-cert / T383838--ssl-key │ T383838MESHCHAT_SSL_CERT / T383838MESHCHAT_SSL_KEY │ (keine) │ PEM-Zertifikat u… │
│ T383838--rns-log-level │ T383838MESHCHAT_RNS_LOG_LEVEL │ (keine) │ Reticulum (RNS) … │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ Browser nicht au… │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ Basis-Authentifi… │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ Datenverzeichnis │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ auto/bundled │ Frontend-Verzeic… │
└────────────────────────┴──────────────────────────────────────┴──────────────┴───────────────────┘
Branches
┌────────┬────────────────────────────────────────────────────────────────────────────────┐
│ Branch │ Zweck │
├────────┼────────────────────────────────────────────────────────────────────────────────┤
│ T383838master │ Stabile Releases. Nur produktionsreifer Code. │
│ T383838dev │ Aktive Entwicklung. Kann instabile oder unvollstaendige Aenderungen enthalten. │
└────────┴────────────────────────────────────────────────────────────────────────────────┘
Entwicklung
Gaengige Aufgaben aus T383838Taskfile.yml:
T282828
task install
task lint:all
task test:all
task build:all
T383838Makefile-Kurzformen:
┌──────────────┬───────────────────────────────────────────────┐
│ Befehl │ Beschreibung │
├──────────────┼───────────────────────────────────────────────┤
│ T383838make install │ pnpm- und Poetry-Abhaengigkeiten installieren │
│ T383838make run │ MeshChatX ueber Poetry starten │
│ T383838make build │ Frontend bauen │
│ T383838make lint │ eslint und ruff ausfuehren │
│ T383838make test │ Frontend- und Backend-Tests │
│ T383838make clean │ Build-Artefakte und node_modules entfernen │
└──────────────┴───────────────────────────────────────────────┘
Versionierung
Aktuelle Version in diesem Repository: T3838384.5.0.
• T383838package.json ist die Quelle fuer die JavaScript/Electron-Version.
• T383838meshchatx/src/version.py wird aus T383838package.json synchronisiert mit:
T282828
pnpm run version:sync
Fuer konsistente Releases die Versionsfelder dort abgleichen, wo noetig (T383838package.json, T383838pyproject.toml, T383838meshchatx/__init__.py).
Sicherheit
• Integrierte Integritaetspruefungen und HTTPS/WSS-Standardeinstellungen in der App
• CI-Scanning-Workflows in T383838.gitea/workflows/
Sprache hinzufuegen
Die Locale-Erkennung erfolgt automatisch. Legen Sie eine neue Datei unter T383838meshchatx/src/frontend/locales/ an (z. B. T383838xx.json) mit denselben Schluesseln wie T383838en.json und einem obersten Feld T383838_languageName fuer die Anzeige in der Sprachauswahl. Sie koennen T383838en.json kopieren und alles von Hand uebersetzen; maschinelle Erzeugung ist optional und nie verpflichtend.
Korrekturen und menschliche Uebersetzungen sind willkommen. Verbesserungen an bestehenden Locale-Dateien oder vollstaendig manuell uebersetzte Dateien koennen Sie per Pull Request oder Issue im Quellcode-Repository oder beim GitHub-Spiegel einreichen.
Optional: Argos-Translate-Bootstrap -- Wenn Sie einen maschinellen Erstentwurf aus T383838en.json wollen, koennen Sie T383838scripts/argos_translate.py nutzen. Es kuemmert sich um Formatierung und schuetzt Interpolationsvariablen (wie T383838{count}) vor versehentlichen Aenderungen.
T282828
T8b949e# Installieren Sie argostranslate, falls noch nicht geschehen
pip install argostranslate
T8b949e# Fuehren Sie das Uebersetzungsskript aus
python scripts/argos_translate.py --from en --to xx --input meshchatx/src/frontend/locales/en.json --output meshchatx/src/frontend/locales/xx.json --name Ta5d6ff"Ihr Sprachname"
Nach einem maschinellen Entwurf sollten ein LLM oder ein Mensch Grammatik, Kontext und Ton pruefen (z. B. formell vs. informell).
Schluesselparitaet pruefen: T383838pnpm test -- tests/frontend/i18n.test.js --run
Keine weiteren Code-Aenderungen noetig. App, Sprachwahl und Tests lesen Locales zur Build-Zeit aus T383838meshchatx/src/frontend/locales/.
Mitwirkende
• Liam Cottle - Originales Reticulum MeshChat
• RFnexus - Micron-Parser (JavaScript)
• markqvist - Reticulum, LXMF, LXST
Lizenz
Die projekt-eigenen Anteile stehen unter 0BSD.
Urspruengliche Upstream-Anteile von MeshChat bleiben unter MIT.
Vollstaendiger Text und Hinweise in ../LICENSE.
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────